
#include "setsp.h"
#include <stdlib.h>
#if defined _MSC_VER
#include <malloc.h>
//#include <alloca.h>
#else

#include <alloca.h>
#endif
// void  setsp3(void *x)
// {
//     printf("jjjjjj1233\n");
// __asm__  ("movq %0, %%rsp" : : "r" (x));
// }
 extern volatile void *dill_unoptimisable;

  #define dill_setsp3(x) \
          __asm__  ("movq %0, %%rsp" : : "r" (x))
 static inline void  dill_setsp6(const void *x) {
   __asm__  ("movq %0, %%rsp" : : "r" (x));
    //  size_t dummy = sizeof(size_t);
    // asm(""::"r"(alloca(dummy)));
    // asm volatile("leaq (%%rax), %%rsp"::"rax"(x));

//   volatile size_t dummy;
//   dummy = (size_t)alloca(sizeof(size_t));
//   asm volatile(""::"r"(dummy));
//   asm volatile("leaq (%%rax), %%rsp"::"rax"(x));
}
void  dill_setsp8(const void *x) {
asm ("movq %0, %%rsp" : : "r" (x));
}

 void __attribute__((cdecl)) dill_setsp9(const void *x) {
    asm volatile ("movq %0, %%rsp" : : "r" (x));
}

